package com.jhgsys.internal.sypq.entity;


import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.jhgsys.internal.common.entity.BaseEntity;

import com.fasterxml.jackson.annotation.JsonFormat;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.io.Serializable;
import java.util.Date;

import com.wuwenze.poi.annotation.Excel;
import com.wuwenze.poi.annotation.ExcelField;
import lombok.Data;


/**
 * 客户信息 Entity
 *
 * @author ganjun
 * @date 2024-11-12 14:15:30
 */
@Data
@TableName("sypq_customer")
@Excel("客户信息表")
public class Customer extends BaseEntity implements Serializable {

    /**
     * 主键id
     */
    @TableId(value = "id", type = IdType.ASSIGN_UUID)
    @Size(max = 32, message = "{noMoreThan}")
    private String id;

    /**
     * 客户编码,生成规则：CM+年+月+四位序号
     */
    @TableField("cust_code")
    @NotBlank(message = "{required}")
    @Size(max = 32, message = "{noMoreThan}")
    @ExcelField(value = "客户编号")
    private String custCode;

    /**
     * 单位名称
     */
    @TableField("cust_name")
    @NotBlank(message = "{required}")
    @Size(max = 80, message = "{noMoreThan}")
    @ExcelField(value = "单位名称")
    private String custName;

    /**
     * 联系人
     */
    @TableField("contact")
    @Size(max = 32, message = "{noMoreThan}")
    @ExcelField(value = "联系人")
    private String contact;

    /**
     * 联系方式
     */
    @TableField("telephone")
    @Size(max = 32, message = "{noMoreThan}")
    @ExcelField(value = "联系方式")
    private String telephone;

    /**
     * 邮箱
     */
    @TableField("email")
    @Size(max = 32, message = "{noMoreThan}")
    @ExcelField(value = "邮箱")
    private String email;

    /**
     * 状态,0:待审核,1:已审核,2:已驳回
     */
    @TableField("status")
    private Integer status;

    /**
     * 状态名,0:待审核,1:已审核,2:已驳回
     */
    @TableField("status_name")
    @ExcelField(value = "状态")
    private String statusName;

    /**
     * 审批意见
     */
    @TableField("opinion")
    private String opinion;
}